import { ParamQueryInput, ParamType, ProcessStatus } from "~/modules/api-server/types";

export interface useWorkerQuery {
  flights: string[];
  params: string[];
}

export interface ScheduleType {
  db: any;
  datas: {[x: string]: any[]};
  alreadyQueue: string[];
  alreadyComplete: string[];
  timer: any;
  timeout: number;
  startTime: number;
  loading: boolean;
  init: () => void;
  clear: () => void;
  get: (workSpaceParams: WorkSpaceParams) => Promise<any>;
}

export interface JobParams {
  flight: string;
  param: string;
  paramType: ParamType;
  processStatus: ProcessStatus
  dataSource: string;
  has: Function;
  add: Function;
}
export interface WorkSpaceParams {
  flightIds: string[];
  params: ParamQueryInput[];
  has: Function;
  add: Function;
  loadResult: Function;
}

export interface HandleRemotePathsParmas {
  data: any[];
  has: Function;
  add: Function;
}

export interface NoExist {
  noExistFlightIds: string[];
  noExistParams: ParamQueryInput[];
}